public void AddPresentationStateImageReference(
DicomDataSet dataSet,
int[] frameNumbers,
int framesCount
)
public void addPresentationStateImageReference(DicomDataSet dataSet, int[] frameNumbers, int framesCount)
public:
void AddPresentationStateImageReference(
DicomDataSet^ dataSet,
array<int>^ frameNumbers,
int framesCount
)
dataSet
Data Set which represents the image(SOP Instance) to be referenced.
frameNumbers
An array which represents the frame numbers inside the image (SOP Instance) to which the presentation state will be applied.
framesCount
Value that represents the number of frames being set.
This method will add a new item into the "Referenced Image Sequence" (0008,1140) under the "Presentation State Module", by passing a Data Set, which represents the image (SOP Instance) to be referenced.
using Leadtools;
using Leadtools.Dicom;
public void DicomPresStateSample()
{
//Make sure to initialize the DICOM engine, this needs to be done only once
//In the whole application
DicomEngine.Startup();
using (DicomDataSet dicomDataset = new DicomDataSet())
{
dicomDataset.Initialize(DicomClassType.GrayscaleSoftcopyPresentationState, DicomDataSetInitializeType.ExplicitVRLittleEndian);
DicomPresentationStateInformation presentationStateInfo = new DicomPresentationStateInformation();
presentationStateInfo.InstanceNumber = 1;
presentationStateInfo.PresentationLabel = "LABEL";
presentationStateInfo.PresentationDescription = "Description";
presentationStateInfo.PresentationCreator = "Creator";
DicomDateValue presentationCreationDate = new DicomDateValue();
presentationCreationDate.Year = 2004;
presentationCreationDate.Month = 1;
presentationCreationDate.Day = 8;
DicomTimeValue presentationCreationTime = new DicomTimeValue();
presentationCreationTime.Hours = 2;
presentationCreationTime.Minutes = 3;
presentationCreationTime.Seconds = 5;
presentationStateInfo.PresentationCreationDate = presentationCreationDate;
presentationStateInfo.PresentationCreationTime = presentationCreationTime;
dicomDataset.SetPresentationStateInformation(presentationStateInfo);
DicomPresentationStateInformation presentationStateInfo1 = dicomDataset.GetPresentationStateInformation();
Debug.Assert(presentationStateInfo1 != null);
Debug.Assert(presentationStateInfo1.InstanceNumber == 1);
//RemovePresStateImageRefBySOPInstance can be used to remove indivual referened images
dicomDataset.RemoveAllPresentationStateImageReferences();
Debug.Assert(dicomDataset.GetPresentationStateImageReferenceCount(null) == 0);
// We can also load the dataset first and then call AddPresStateImageRefByDS
dicomDataset.AddPresentationStateImageReference(Path.Combine(LEAD_VARS.ImagesDir, "DICOM", "IMAGE3.dcm"), null, 0);
// We can also add the presentation state using a stream
using (FileStream stream = new FileStream(Path.Combine(LEAD_VARS.ImagesDir, "DICOM", "image3.dcm"), FileMode.Open))
{
dicomDataset.AddPresentationStateImageReference(stream, null, 0);
}
//We can also use FindNextPresStateRefSeriesItem to iterate through all items
DicomElement item = dicomDataset.FindFirstPresentationStateReferencedSeriesItem();
string imageRefSOPInstanceUID = dicomDataset.GetPresentationStateImageReferenceSOPInstance(item, 0);
Debug.Assert(imageRefSOPInstanceUID != null);
DicomElement item1 = dicomDataset.GetPresentationStateImageReference(imageRefSOPInstanceUID);
Debug.Assert(item1 != null);
dicomDataset.Save(Path.Combine(LEAD_VARS.ImagesDir, "DICOM", "PresentationState.dcm"), DicomDataSetSaveFlags.None);
}
DicomEngine.Shutdown();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}
SetPresentationStateInformation Method
GetPresentationStateInformation Method
AddPresentationStateImageReference(String,Int32[],Int32) Method
RemovePresentationStateImageReference Method
RemoveAllPresentationStateImageReferences Method
GetPresentationStateImageReferenceSOPInstance Method
GetPresentationStateImageReferenceCount Method
FindFirstPresentationStateReferencedSeriesItem Method
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document